package cn.tedu.justone.pack02;

/**
 * @作者：JustOne
 * @时间：2021/8/22 - 10:39
 */
public class Demo00_方法示例_守护线程 {
    public static void main(String[] args) {

        //线程的常用方法-示例：守护线程
        //线程的常用方法-示例：守护线程
        //线程的常用方法-示例：守护线程

        //守护线程(后台线程)
        // 1,我们创建的线程默认都是普通线程(前台线程)，当前台线程结束后，守护线程自然结束
        // 2,我们可以退过t.setDaemon(true);将t线程设置为守护线程
        // 3,守护线程也叫后台线程，普通线程也叫前台线程
        // Daemon:低门

        //创建背景音乐线程
        Thread bgm = new Thread(){
            @Override
            public void run() {
                while(true){
                    System.out.println("音乐：你爱我，我爱你，蜜雪冰城甜蜜蜜");
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        };

        //创建跳舞线程
        Thread dance = new Thread(){
            @Override
            public void run() {
                for(int i=0;i<5;i++){
                    System.out.println("舞蹈：抬头挺胸转圈圈");
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                System.out.println("谢幕：谢谢大家\r\n");
            }
        };

        //设置bgm为守护线程
        bgm.setDaemon(true);
        //如果不设置，则会自己运行完
        //发果设置，则会随着普通线程运行完而终止

        bgm.start();
        dance.start();

    }
}
